home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Delphi Programmer's Power Pack
/
Delphi Volume 1.iso
/
e_to_l
/
klldlph2
/
killdlph.dpr
next >
Wrap
Text File
|
1996-09-15
|
6KB
|
208 lines
{****************************************************************
* KILLDLPH *
* ======== *
* Autor: Rolf Frei *
* Dorsstrasse 10 *
* CH - 5736 Burg *
* EMail-Adressen: CIS 100603.2154 *
* Interent 100603.2154@compuserve.com *
* *
* V1.0 - 12.06.95 Erste freigegebene Version *
* V1.1 - 19.08.95 Unterstⁿtzung von Programmparametern zur *
* Uebergabe von Modul-Namen. *
* V1.2 - 11.11.95 Einige zusΣtzliche Module der C/S-Version *
* hinzugefⁿgt. (inkl. Informix-SQL-Links) *
* V2.0 - 09.01.96 Dialoge zur Sicherheitsabfrage eingebaut. *
* Ueberprⁿfung ob Delphi lΣuft und wieviel *
* User bei IDAPI angemeldet sind. *
* *
* Aenderungen am Programm sind nur erlaubt, wenn diese *
* mir gemeldet werden. Danke. *
* *
* Befehlszeile: *
* KILLDLPH MODUL1 MODUL2 ... *
* *
* Wird das Programm ohne Argumente gestartet, werden *
* die Standart-DLL's der Delphi-Desktopversion ge- *
* l÷scht. *
****************************************************************}
program KillDlph;
uses
WinTypes, WinProcs, SysUtils;
var ModulHandle : THandle;
i : Integer;
DLL : Array [0..255] of Char;
ModulUsage : integer;
MesS : string[80];
MesAC : Array[0..79] of Char;
const BoxTitle: Array[0..30] of Char = 'Kill Deplhi DLL''s...';
{$R KILLDLPH.RES}
begin
ModulHandle := GetModuleHandle('DELPHI');
if ModulHandle <> 0 then
if (MessageBox(0,'Delphi lΣuft noch, fortfahren?',BoxTitle,
MB_YESNO+MB_ICONHAND+MB_DEFBUTTON2)<>IDYES) then
Halt(1);
{*** Uebergebene Module l÷schen ***}
for i := 1 to ParamCount do
begin
repeat
ModulHandle := GetModuleHandle(StrPCopy(DLL, ParamStr(i)));
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
end;
{*** Standart-Module der Desktop-Version l÷schen ***}
repeat
ModulHandle := GetModuleHandle('COMPLIB');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('DELPHIED');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('DELPHIKB');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('EPINT');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('EXPTDEMO');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('PASDBK16');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('RESINTF');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('W8LOSS');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('STDVCS');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('LDLLSQLW');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('SQLD_INF');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('VQBLIB');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
{IDAPI-Module extra abfragen}
ModulHandle := GetModuleHandle('IDAPI01');
ModulUsage := GetModuleUsage(ModulHandle);
if (ModulUsage > 0) then
begin
if (MessageBox(0,StrPCopy(MesAC,'Die IDAPI meldet '+IntToStr(ModulUsage)
+' Benutzer, fortfahren?'),BoxTitle,
MB_YESNO+MB_ICONHAND)<>IDYES) then
begin
MessageBox(0,'Alle Delphi-DLL''s sind gel÷scht, IDAPI lΣuft noch!',
BoxTitle,
MB_OK+MB_ICONINFORMATION);
Halt(1);
end;
end;
repeat
ModulHandle := GetModuleHandle('IDAPI01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDR10007');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDR10009');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDR1000C');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('ILD01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDAPIQ01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDBAT01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDDBAS01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDPDX01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDASCI01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDODBC01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
repeat
ModulHandle := GetModuleHandle('IDQRY01');
if ModulHandle <> 0 then FreeModule(ModulHandle);
until ModulHandle = 0;
MessageBox(0,'Alle Delphi- und IDAPI-DLL''s sind gel÷scht!',BoxTitle,
MB_OK+MB_ICONINFORMATION);
END.